home *** CD-ROM | disk | FTP | other *** search
- /***********************************************************************************************************************************************/
- in_txt1 = "SVII-ProcessPics.rexx V 2.21 01.12.98 © by Ulrich Falke"
- in_txt2 = "=======================================================" /*
-
- English ARexx-Script that processes given pictures of a directory.
- (sorry not my native language) You can convert to different grafikformats, scale, rotate
- and more. One setting for different pictures.
-
- Deutsch weiter unten I use for this SViewII V 8.xx © by Andreas Ralph Kleinert (registered),
- (Unregistered SView has'nt an ARexx-Port !)
- RexxReqTools.library V 1.3 © by Rafael D'Halleweyn and of course
- ReqTools.library V 2.9 © by Nico François and Magnus Holmgren.
-
- ATTENTION: 1.Picturnames ar renamed ! I cut them at the last dot
- and add a short-cut for operation and filetype !
-
- Example: operation = rotate (.ROT) | filetype = PNG (.png)
-
- so Pic.iff will be renamed to Pic.ROT.png
- ^^^^cut ^^^^^^^^add
-
- or Pic_001 -> Pic_001.ROT.png and so on.
-
- 2.If the filename is the same, but the ending is a dot and a number,
- the number will be add at the end of the new filname.
-
- Example: operation = rotate (.ROT) | filetype = PNG (.png)
-
- so Pic.001 will be renamed to Pic.ROT.png.001 -\
- ^^^^cut ^^^^^^^^^^^^add } different name !
- and Pic.002 will be renamed to Pic.ROT.png.002 . -/
- ^^^^cut ^^^^^^^^^^^^add
-
-
- WRONG : Pic.001_iff -> Pic.ROT.png -\
- ======= ^^^^^^^^cut ^^^^^^^^add } same name !
- Pic.002_iff -> Pic.ROT.png -/
- ^^^^^^^^cut ^^^^^^^^add
-
- 3.For files with the same name in the destinations directory you will be asked, to overwrite
- them or not ! If you "Omit", the next pic will processed. If one of the next pic's has also
- an existing name you will be asked again. If you choose "Omit all", only the pic's with names
- who din't exist, will be processed, without asking again.
- Same meening for the choices "Overwrite" and "All overwrite", the only difference is, that all
- pic's with existing names will be overwrite !
- If your choice is "Rename", you can give, with a filrequester, a new name or a new dest. dir.
- If you give an already existing name, you have a second chance to give a new name. Is this
- also an existing name, this pic will be skiped and the next pic will be processed.
-
- 4.If the SV-WindowDriver shows a pic that is bigger than the display, you can scroll with the arrow-keys.
- The script waits for a keyboard or mouse-button press (not the arrow-keys)!
- For uncontroled processing: use a SV-ScreenDriver (like CGX or AGA) or use the 'blind'-mode for
- no picture-showing.
-
- ------------------------------------------------------------------------------------------------------------------------------------------
-
- Deutsch ARexx-Script mit dem ausgewählte Bilder eines Verzeichnisses bearbeitet werden können.
- Sie können zu einem anderen Grafikformat umwandeln, skalieren, rotieren
- und mehr. Mit einer Vorgabe für verschiedene Bilder.
-
- Ich benutze hierfür SViewII V 8.xx © by Andreas Ralph Kleinert (registriert),
- (Unregistriertes SView hat keinen ARexx-Port !)
- RexxReqTools.library V 1.3 © by Rafael D'Halleweyn und damit auch
- ReqTools.library V 2.9 © by Nico François und Magnus Holmgren.
-
- ACHTUNG : 1.Bildernamen werden umbenannt ! Ich kürtze sie am letzten Punkt
- und hänge eine Abkürtzung für den Operator und den Filetype an !
-
- Beispiel: Operator = rotieren (.ROT) | Filetype = PNG (.png)
-
- aus Pic.iff wird Pic.ROT.png
- ^^^^cut ^^^^^^^^add
-
- 2.Falls der Filename gleich ist, aber mit einem Punkt und einer Nummer endet,
- wird die Nummer wieder hinten angehangen.
-
- Beispiel: Operator = rotieren (.ROT) | Filetype = PNG (.png)
-
- aus Pic.001 wird Pic.ROT.png.001 -\
- ^^^^cut ^^^^^^^^add } ungleicher Name !
- und aus Pic.002 wird zu Pic.ROT.png.002 . -/
- ^^^^cut ^^^^^^^^add
-
- ABER : Pic.001_iff -> Pic.ROT.png -\
- ====== ^^^^^^^^cut ^^^^^^^^add } gleicher Name !
- Pic.002_iff -> Pic.ROT.png -/ ===============
- ^^^^^^^^cut ^^^^^^^^add
-
- 3.Bei Dateien gleichen Namens im Zielverzeichnis werden Sie gefragt, ob sie übersprungen
- oder überschrieben werden sollen ! Wird "Auslassen" gewählt, wird das nächste Bild bearbeitet.
- Wird bei einem anderen Bild wieder eine Namensgleichheit gefunden, werden Sie erneut gefragt.
- Wird "Alle ausl." gewählt, werden nur die Bilder bearbeitet deren Name im Zielverzeichnis
- noch nicht existieren, ohne nochmalige Rückfrage.
- Gleiches gilt für "Ersetzen" und "Alle ersetzen", nur das hier das nächste bzw.
- alle namensgleichen Bilder überschrieben werden !
- Wird "Umbenennen" gewählt, kann per Filerequester für diese gleiche Datei ein neuer Name
- oder auch ein anderes Zielverzeichnis gewählt bzw. eingegeben werden. Bei erneuter Namens-
- gleichheit haben Sie eine zweite Möglichkeit den Namen zu ändern. Klappt das immer noch
- nicht d.h. es existiert immer noch eine namensgleiche Datei im Zielverzeichnis, wird die
- Datei ausgelassen und mit dem nächsten Bild weitergemacht.
-
- 4.Wird mit dem SV-WindowDriver ein Bild angezeigt, dass grösser als das Fenster ist,
- können Sie den Bildausschnitt mit den Pfeil-Tasten bewegen. Das Script wartet auf
- einen Tastertur- oder Maustasten klick (nicht die Pfeil-Tasten)!
- Für unbeaufsichtigtes bearbeiten benutzen Sie besser einen SV-ScreenDriver (wie CGX oder AGA)
- oder wählen den "Blind"-Modus, damit keine Bilder angezeigt werden.
-
- ==========================================================================================================================================
- */
-
- OPTIONS RESULTS
- SIGNAL ON ERROR
- SIGNAL ON break_c
- SIGNAL ON failure
- SIGNAL ON halt
- SIGNAL ON ioerr
- SIGNAL ON syntax
-
- SV = 'SYS:SViewII/SViewII' /* the path to SViewII, change it to your needs! */
-
- SVPrefs = 'execute Start-SVPrefs.script' /* Script to start SVPrefs, because the Stack */
-
- SVIIPORT = 'SViewII.rx' /* default SViewII ARexx-Port */
-
- ICONS = NO /* YES for icons */
-
- SVOBJ.0 = 'PNG (PiNG)' /* not your favorits ? */
- SVOBJ.1 = 'JPEG (IJG-JFIF)' /* change the SVObjects */
- SVOBJ.2 = 'ILBM CmpByteRun1' /* try the names from the */
- SVOBJ.3 = 'ILBM uncompressed' /* SViewII ListView */
- SVOBJ.4 = 'RGFX XPK-compressed'
- SVOBJ.5 = 'TIFF V5.0'
- SVOBJ.6 = 'BMP (Win,OS/2)'
- SVOBJ.7 = 'GIF 89a'
-
- EXT.0 = 'png' /* but change the extent to */
- EXT.1 = 'jpg'
- EXT.2 = 'iff' /* Example: changes for GIF */
- EXT.3 = 'ilbm' /* SVOBJ.7 = 'GIF 89a' */ /* put it in the line after SVOBJ.6 = 'BMP (Win,OS/2)' */
- EXT.4 = 'rgfx' /* EXT.7 = 'gif' */ /* put it in the line after EXT.6 = 'bmp' */
- EXT.5 = 'tif' /* insert -> _GIF <- in variable 'txt_svob2 =' on place 6 from left */
- EXT.6 = 'bmp'
- EXT.7 = 'gif' /* 2 lines below */
-
- txt_svob2 = '_JPEG|_IFF|I_LBM|_RGFX|_TIFF|_BMP|_GIF|_PNG'
-
- SVOP.4 = 'LeftToRight' /* same as with the SVObjects */
- SVOP.5 = 'Rotate' /* for the SVOperators */
- SVOP.6 = 'Scale50' /* Example: change "SVOP.4 = 'LeftToRight'" to "SVOP.4 = 'Crop'" */
- SVOP.7 = 'TopToBottom' /* ATTENTION: Nearly every SQ-operator needs 24Bit input ! */
-
- TXT.4 = 'L2R' /* this are the short-cuts for */
- TXT.5 = 'Rot' /* the Operators */
- TXT.6 = 'Sc50' /* Example: change "TXT.4 = 'L2R'" to "TXT.4 = 'Crop'" */
- TXT.7 = 'T2B' /* ATTENTION: Make the correct settings in SView-Prefs ! */
- /* Change the variable 'txt_opt3 =' also ! */
- SVDR.2 = 'CyberGraphX ScreenDriver'
- /* SVDR.2 = 'AGA ScreenDriver' */ /* uncomment the screendriver for your grafic-card */
- /* SVDR.2 = 'ECS ScreenDriver' */
- /* SVDR.2 = 'OPAL ScreenDriver' */
- /* SVDR.2 = 'PicassoII ScreenDriver'*/
- /* SVDR.2 = 'Picasso96 ScreenDriver'*/
- /* SVDR.2 = 'Retina Driver' */
- /* SVDR.2 = 'EGS7 ScreenDriver' */
- /* SVDR.2 = 'MERLIN ScreenDriver' */
-
- txt_svdr2 = '_CGX|' /* _AGA _ECS _OPAL _PicII Pic_96 _Retina E_GS7 _MERLIN */
- /* change "txt_svdr1 = '_CGX'" to the shortcut of your grafic-card */
-
- screentime = 4 /* how long will you see it on a screen? */
- windowtime = 2 /* with window driver? */
-
- /*--------------------------------------------------- don't change anything below this line ! ----------------------------------------------*/
- /*----------------------------------------------------- except you know what you are doing -------------------------------------------------*/
-
- SVII = 'Run >NIL: 'SV' -INSTALL_APPMENU=FALSE -INSTALL_APPICON=FALSE'
-
- SVOP.0 = 'AnyTo24Bit' /* do not change */
- SVOP.1 = 'OptimizePalette' /* do not change */
- SVOP.2 = 'Emboss_SQ' /* do not change */
- SVOP.3 = 'ExtractGrayScales' /* do not change */
- SVOP.8 = 'Dither24Bit' /* do not change */
-
- TXT.0 = 'To24Bit' /* do not change */
- TXT.1 = 'OptPal' /* do not change */
- TXT.2 = 'Emb' /* do not change */
- TXT.3 = 'Gray' /* do not change */
- TXT.8 = 'To8Bit' /* do not change */
-
- txt_opt3 = '_OptPal|_Emb|_Gray|_L2R|_Rot|_Sc50|_T2B|To_8Bit|To_24Bit'
-
- SVDR.1 = 'AGA/RTG WindowDriver'
-
- txt_svdr0 = '_Blind'
-
- NL = '0a'x
- BL = ''
- NR = ''
- WS = ''
- HG3 = ''
-
- IF OPEN(Language,'ENV:Language','R') then do /* ENV-variable "Language" will be set in a normal Startup-sequence */
- Lang = READLN(Language) /* to your language */
- if Lang = 'deutsch' then deutsch = 1
- else english = 1
- end
-
- if deutsch = 1 then do
- txt_reqtools = 'Die RexxReqTools.library kann nicht geöffnet werden !'
- txt_pick = 'Bilder zum bearbeiten auswählen'
- txt_nopick = 'Ich breche das Script ab !'
- txt_ok = '_Richtig'
- txt_nopick5 = 'Abbruch-Ansage'
- txt_same1 = 'Wollen Sie die Einstellungen, die Sie zuletzt'
- txt_same4a = 'in ENVARC: gespeichert haben, benutzen ?'
- txt_same4b = 'in ENV: gespeichert haben, benutzen ?'
- txt_same2 = '_Ja|_Nein'
- txt_same3 = 'Gleiche Einstellungen ?'
- txt_svob1 = 'Bitte den Datei-Type (SV-Object) zum speichern auswählen'
- txt_svob3 = 'wähle SV-Object'
- txt_op1 = 'Wollen Sie die Bilder zusätzlich bearbeiten ?'
- txt_op2 = '_Ja|_Nein'
- txt_op3 = 'Operation ?'
- txt_not = 'Nichts'
- txt_opt1 = 'Bitte wählen Sie den SV-Operator aus'
- txt_opt2 = 'Optionen können in SVPrefs eingestellt werden.'
- txt_opt4 = 'SV-Operator Auswahl'
- txt_svp1 = 'Möchten Sie die Einstellungen in SVPrefs ändern ?'
- txt_svp2 = 'SVPrefs ändern ?'
- txt_dest1 = 'Wo sollen die bearbeiteten Bilder gespeichert werden ?'
- txt_dest2 = '_Gleiches Verz.|_Anderes Verz.'
- txt_dest3 = 'Verzeichnisauswahl'
- txt_dest4 = 'Speicher-Pfad Auswahl'
- txt_svdr1 = '_Fenster|'
- txt_svdr3 = '_Zuletzt ben.|'
- txt_svdr4 = '_SV-Prefs ben.|'
- txt_svdr5 = 'Welchen SV-Bildschirmtreiber wollen Sie benutzen ?'
- txt_scrmo = 'Bildschirm-Modus Auswahl'
- txt_nomo1 = 'Sie haben keinen Bildschirm-Modus ausgewählt !'
- txt_nomo2 = 'Ich versuche es mit dem besten Modus !'
- txt_nomo3 = 'keinen Bildschirm-Modus'
- txt_best = 'Bester Modus'
- txt_sure1 = 'Sie wollen folgende Operationen auf Ihre '
- txt_Sure1a = ' Bilder:'
- txt_sure1b = 'anwenden.'
- txt_sure2 = '1. Datei-Type Umwandlung zu '
- txt_sure3 = ' aller Bilder.'
- txt_sure4 = '2. Operation '
- txt_sure5 = ' mit allen Bildern.'
- txt_sure6 = '3. Anzeigen mit dem '
- txt_sure7 = ' auf'
- txt_sure8 = ' dem '
- txt_sure9 = ' Bildschirm.'
- txt_sure10 = '4. Speichern im Verzeichnis '
- txt_sure11 = '_Ja richtig !|_NEIN AUFHÖREN !'
- txt_sure12 = 'Sind Sie sicher ?'
- txt_chancel = 'Sie haben CTRL-c gedrückt !'
- txt_chancela = 'Sie haben AUFHÖREN gewählt !'
- txt_chancelb = 'Sie haben keine Bilder zum bearbeiten ausgewählt !'
- txt_chancelc = 'Sie haben keinen Speicher-Pfad ausgewählt !'
- txt_over1a = 'Eine Datei mit dem Namen: '
- txt_over1b = ' existiert schon !'
- txt_over2 = 'Soll ich sie ersetzen ?'
- txt_over3 = '_Ersetzen|Alle e_rsetzen|_Umbenennen|A_lle ausl.|_Auslassen'
- txt_over4 = 'Name ist gleich !'
- txt_over5b = ' existiert immer noch !'
- txt_over6 = 'Was soll ich jetzt tun ?'
- txt_over7 = '_Ersetzen|_Umbenennen|_Auslassen'
- txt_over8 = 'Name ist immer noch gleich !'
- txt_info1 = 'Benutzer Information :'
- txt_info2 = ' Bilder sind erfolgreich bearbeitet worden.'
- txt_info2a = 'Wollen Sie die benutzten Einstellungen speichern,'
- txt_info2b = 'weitere Bilder bearbeiten oder beenden ?'
- txt_info3 = '_Speichern|_Benutzen|_Weitere Bilder|_Tschüss'
- txt_info4 = 'Bis bald'
- txt_error1 = '+++ FEHLER +++'
- txt_error2 = 'Nr.: '
- txt_error3 = 'FEHLER-Anzeige'
- txt_error4 = 'Bitte eine E-Mail an : _UFalke@t-online.de senden'
- in_txt3 = 'Bitte warten ich arbeite !'
- in_txt4 = 'Bild Nr.: '
- in_txt5 = ' ist fertig. '
- in_txt5a = ' von '
- in_txt6 = ' Bilder werden noch bearbeitet.'
- in_txt6b = ' Bilder: fertig !'
- in_txt7 = ' existiert ! Bild wird übersprungen ! '
- in_txt8 = ' existiert ! Bild wird überschrieben ! '
- ren_txt1 = 'Bitte den Dateinamen ändern'
- ren_txt2 = 'Anderen Namen für: '
- ren_txt3 = 'Umbenennen'
- renfail_txt1 = 'Sie haben mir zweimal einen existierenden Dateinamen vorgegeben !'
- renfail_txt2 = 'Ich überspringe dieses Bild. Versuchen Sie es ein Anderes mal !'
- ti_txt1 = 'Für dieses Bild benötigte Zeit: '
- ti_txt2 = ' sek. '
- ti_txt3 = 'Das sind: '
- ti_txt4 = ' sek/Bild. '
- ti_txt5 = 'Fertig ca.: '
- end
-
- if english = 1 then do /* not your language ? translate it if you want. */
- txt_reqtools = 'Could''nt open the RexxReqTools.library !' /* I only know german and english ! */
- txt_pick = 'pick pictures for processing'
- txt_nopick = 'I''m stop working !'
- txt_ok = '_OK'
- txt_nopick5 = 'Chancel-Requester'
- txt_same1 = 'Do you want to use the settings,'
- txt_same4a = 'who you saved last, to ENVARC: ?'
- txt_same4b = 'who you saved last, to ENV: ?'
- txt_same2 = '_Yes|_No'
- txt_same3 = 'same Settings ?'
- txt_svob1 = 'Please select the Saver-Type (SV-Object)'
- txt_svob3 = 'select SV-Object'
- txt_op1 = 'Would you like to make an operation to your pictures ?'
- txt_op2 = '_Yes|_No'
- txt_op3 = 'operations ?'
- txt_not = 'Nothing'
- txt_opt1 = 'Please select the SV-Operator'
- txt_opt2 = 'You may change the settings in SV-Prefs. '
- txt_opt4 = 'select SV-Operator'
- txt_svp1 = 'Do you like to change the SV-Prefs settings ?'
- txt_svp2 = 'Change SV-Prefs ?'
- txt_dest1 = 'Where do you want to save the processed pictures ?'
- txt_dest2 = '_same dir|_other dir'
- txt_dest3 = 'select Save-Directory'
- txt_dest4 = 'select Save-Path'
- txt_svdr1 = '_Window|'
- txt_svdr3 = '_Last used|'
- txt_svdr4 = 'use _SV-Prefs|'
- txt_svdr5 = 'Which SV-ScreenDriver do you like to use ?'
- txt_scrmo = 'Please select the ScreenMode for your SV-ScreenDriver'
- txt_nomo1 = 'You did''nt select a ScreenMode'
- txt_nomo2 = 'I use the BestMode !'
- txt_nomo3 = 'No ScreenMode'
- txt_best = 'BestMode'
- txt_sure1 = 'You want to make this operations to your '
- txt_sure1a = ' pictures :'
- txt_sure1b = ' '
- txt_sure2 = '1. Convert to '
- txt_sure3 = ' all pictures.'
- txt_sure4 = '2. Operator '
- txt_sure5 = ' to all pictures.'
- txt_sure6 = '3. Show them with the '
- txt_sure7 = ' on'
- txt_sure8 = ' the '
- txt_sure9 = ' screen.'
- txt_sure10 = '4. Save them in directory '
- txt_sure11 = '_YES do it !|_NO do NOTHING !'
- txt_sure12 = 'Are you sure ?'
- txt_chancel = 'You type CTRL-c !'
- txt_chancela = 'You click do NOTHING !'
- txt_chancelb = 'You did''nt select a picture to process !'
- txt_chancelc = 'You did''nt select a Save-Directory !'
- txt_over1a = 'A File with the name: '
- txt_over1b = ' exists !'
- txt_over2 = 'Shall I overwrite it ?'
- txt_over3 = 'O_verwrite|All over_write|_Rename|_All omit|_Omit'
- txt_over4 = 'Same name !'
- txt_over5b = ' already exists !'
- txt_over6 = 'What shall I do now ?'
- txt_over7 = 'O_verwrite|_Rename|_Omit'
- txt_over8 = 'Already same name !'
- txt_info1 = 'User information :'
- txt_info2 = ' pictures were processed successfully.'
- txt_info2a = 'Do you wont to save the used settings,'
- txt_info2b = 'process further pictures or quit ?'
- txt_info3 = '_Save|_Use|_Further Pics|_Bye Bye'
- txt_info4 = 'So long'
- txt_error1 = '+++ ERROR +++'
- txt_error2 = 'No.: '
- txt_error3 = 'ERROR-Requester'
- txt_error4 = 'Please send an e-mail to : _UFalke@t-online.de'
- in_txt3 = 'Please wait I''m working !'
- in_txt4 = 'Picture No.: '
- in_txt5 = ' is ready. '
- in_txt5a = ' of '
- in_txt6 = ' Pictures are to processed.'
- in_txt6b = ' Pictures: ready !'
- in_txt7 = ' exists. I skip this pic ! '
- in_txt8 = ' exists ! I overwrite this pic ! '
- ren_txt1 = 'Please change the filename'
- ren_txt2 = 'Other name for: '
- ren_txt3 = 'Rename'
- renfail_txt1 = 'You give me twice an existing filename !'
- renfail_txt2 = 'I skip this pic. Try it next time again.'
- ti_txt1 = 'For this picture used Time: '
- ti_txt2 = ' Sec. '
- ti_txt3 = 'That are: '
- ti_txt4 = ' sec/pic . '
- ti_txt5 = 'Ready about: '
- end
-
- /* trace i */
-
- say BL||in_txt1||NL||in_txt2||NR
-
- IF ~SHOW('L','rexxreqtools.library') THEN CALL ADDLIB('rexxreqtools.library',0,-30)
- IF ~SHOW('L','rexxreqtools.library') THEN DO
- SAY txt_reqtools
- Call ERROR
- END
-
- IF ~SHOW('P',SVIIPORT) THEN DO
- address command
- SVII
- 'WaitForPort' SVIIPORT
- txt_same4 = txt_same4a
- END
- ELSE txt_same4 = txt_same4b
-
- ADDRESS VALUE SVIIPORT
-
- 'PUT_ICONS='||ICONS
-
- Main:
-
- SAME = 0
- OVER = 0
- timer = 0
- ti1 = 0
- ti2 = 0
- ti3 = 0
- nosave = 0
- SA = 0
- rename = 0
- Counter = 0
- in_txt = in_txt6
-
- IF OPEN('Prefs','ENV:SV-ProcessPics.prefs','r') THEN DO /* read Prefsfile */
- Dir = READLN('Prefs')
- SaveDir = READLN('Prefs')
- SO = READLN('Prefs')
- SVObject = READLN('Prefs')
- txt = READLN('Prefs')
- ext = READLN('Prefs')
- TO24BIT = READLN('Prefs')
- TO8BIT = READLN('Prefs')
- TO8BITSAVE = READLN('Prefs')
- TOGRAY = READLN('Prefs')
- SVO = READLN('Prefs')
- SVOperator = READLN('Prefs')
- SAOP = READLN('Prefs')
- SVDR = READLN('Prefs')
- ScreenMode = READLN('Prefs')
- win = READLN('Prefs')
- CLOSE('Prefs')
- END
- ELSE do /* no Prefsfile */
- Dir = 'SYS:'
- SaveDir = 'SYS:'
- SO = 0
- SVObject = SVOBJ.0
- txt = TXT.0
- ext = EXT.0
- TO24BIT = 0
- TO8BIT = 0
- TO8BITSAVE = 0
- TOGRAY = 0
- SVO = 0
- SAOP = 0
- SVDR = 'AGA/RTG WindowDriver'
- ScreenMode = 'Workbench'
- win = 1
- END
-
- IF ~(EXISTS(Dir)) THEN DO
- call rtfreefilebuffer()
- Dir = 'SYS:'
- END
-
- call rtfilerequest(Dir,,txt_pick,,, /* ReqTools-Filerequester - get a list of all files to be processed */
- 'rtfi_flags = freqf_multiselect',
- 'rtfi_buffer = true',
- 'rt_reqpos = reqpos_centerscr',,
- files)
-
- Counter = VALUE(files.count)
-
- if files = 0 then do /* you chancel */
- txt_chancel = txt_chancelb
- call break_c
- END
-
- IF files = 1 THEN DO
- parse var files.1 LW ':' DN
- Pfad = ''
- do forever
- parse var DN Pfad1 '/' DN
- if DN = ''
- then break
- Pfad = Pfad||Pfad1'/'
- end
- Dir = LW||':'||Pfad
- END
-
- call text
-
- IF EXISTS('ENV:SV-ProcessPics.prefs') THEN SAME = rtezrequest(txt_same1||NL||, /* Same Settings as last used ? */
- txt_same4||NL||,
- ' '||NL||,
- txt_sure2||SVObject||txt_sure3||NL||,
- txt_sure4||SVOperator||txt_sure5||NL||,
- txt_sure6||SVDR||txt_sure7||NL||,
- txt_sure8 ||ScreenMode||txt_sure9||NL||,
- txt_sure10||SaveDir||'.',,
- txt_same2,,
- txt_same3,,
- 'rtez_defaultresponse = 1',
- 'rt_reqpos = reqpos_centerscr')
- IF SAME = 0 THEN DO
- TOGRAY = 0
- TO8BIT = 0
- TO8BITSAVE = 0
- TO24BIT = 0
- txt = ''
- ext = ''
- SO = rtezrequest(txt_svob1,, /* SVObject - destination filetype */
- txt_svob2,,
- in_txt1,,
- 'rtez_flags = ezreqf_centertext',
- 'rtez_defaultresponse ='||SO,
- 'rt_reqpos = reqpos_centerscr')
-
- SVObject = VALUE('SVOBJ.'||SO)
- ext = VALUE('EXT.'||SO) /* extent for the filetype */
- if SO = 7 then TO8BITSAVE = 1 /* for gif */
-
- SAOP = rtezrequest(txt_op1,, /* Operation ? */
- txt_op2,,
- txt_op3,,
- 'rtez_flags = ezreqf_centertext',
- 'rtez_defaultresponse ='||SAOP,
- 'rt_reqpos = reqpos_centerscr')
-
- if SAOP = 0 THEN SVOperator = txt_not
-
- if SAOP = 1 THEN DO
- SVO = rtezrequest(txt_opt1||NL||, /* witch SVOperator */
- txt_opt2,,
- txt_opt3,,
- tx,,
- 'rtez_flags = ezreqf_centertext',
- 'rtez_defaultresponse ='||SVO,
- 'rt_reqpos = reqpos_centerscr')
- SVOperator = VALUE('SVOP.'||SVO)
- txt = VALUE('TXT.'||SVO)||'.' /* short-cut for operator and add a dot */
- if SVO = 2 THEN DO /* for Emboss_SQ */
- TO24BIT = 1
- TOGRAY = 1 /* Emboss to gray looks better and reduces the filesize */
- txt = txt||TXT.3||'.'
- END
- if SVO = 1 THEN TO8BIT = 1 /* for Opt.Palette */
-
- SVP = rtezrequest(txt_svp1,, /* you will set prefs in SVPrefs ? */
- txt_op2,,
- txt_svp2'Change SV-Prefs ?',,
- 'rtez_flags = ezreqf_centertext',
- 'rtez_defaultresponse = 0',
- 'rt_reqpos = reqpos_centerscr')
- if SVP = 1 then address command SVPrefs
- END
-
- SAD = rtezrequest(txt_dest1,, /* destination directory same ? */
- txt_dest2,,
- txt_dest3,,
- 'rtez_flags = ezreqf_centertext',
- 'rtez_defaultresponse = 0',
- 'rt_reqpos = reqpos_centerscr')
-
- if SAD = 0 THEN DO
- SaveDir = rtfilerequest(SaveDir,,txt_dest4,,, /* get dest. dir if not same */
- 'rtfi_flags = freqf_nofiles',
- 'rt_reqpos = reqpos_centerscr')
-
- if SaveDir = '' THEN DO /* you chancel dest. dir ! */
- txt_chancel = txt_chancelc
- call break_c
- END
- END
-
- if SAD = 1 then do /* extract pfad */
- parse var files.1 LW ':' DN
- Pfad = ''
- do forever
- parse var DN Pfad1 '/' DN
- if DN = ''
- then break
- Pfad = Pfad||Pfad1'/'
- end
- SaveDir = LW||':'||Pfad /* getdir = savedir */
- end
-
- SD = rtezrequest(txt_svdr5,, /* witch SVDriver */
- txt_svdr1||txt_svdr2||txt_svdr3||txt_svdr4||txt_svdr0,,
- in_txt1,,
- 'rtez_flags = ezreqf_centertext',
- 'rtez_defaultresponse = 1',
- 'rt_reqpos = reqpos_centerscr')
-
- IF (SD = 1)|(SD = 2) THEN DO
- SVDR = VALUE('SVDR.'||SD)
- win = 0
- IF SD = 1 THEN DO
- win = 1
- ScreenMode = 'Workbench'
- END
- END
-
- IF SD = 0 THEN DO
- win = 2
- SVDR = 'Blind Driver'
- ScreenMode = 'Workbench'
- END
-
- if SD = 4 then do
- IF OPEN('PrefsDriver','env:superview-library/LIBRARY.controlpad','R') THEN DO
- PrefsDriver_txt = READLN('PrefsDriver')
- CLOSE('PrefsDriver')
- win = 0
- parse var PrefsDriver_txt def '=' SVPD
- if SVPD = 'AGA.svdriver' then SVDR = 'AGA ScreenDriver'
- if SVPD = 'CyberGraphics.svdriver' then SVDR = 'CyberGraphX ScreenDriver'
- if SVPD = 'ECS.svdriver' then SVDR = 'ECS ScreenDriver'
- if SVPD = 'EGS7.svdriver' then SVDR = 'EGS7 ScreenDriver'
- if SVPD = 'MERLIN.svdriver' then SVDR = 'MERLIN ScreenDriver'
- if SVPD = 'OPAL.svdriver' then SVDR = 'OPAL ScreenDriver'
- if SVPD = 'Picasso96.svdriver' then SVDR = 'Picasso96 ScreenDriver'
- if SVPD = 'PicassoII.svdriver' then SVDR = 'PicassoII ScreenDriver'
- if SVPD = 'Retina.svdriver' then SVDR = 'Retina Driver'
- if SVPD = 'Window.svdriver' then do
- SVDR = 'AGA/RTG WindowDriver'
- win = 1
- END
- END
- END
-
- if SD = 3 then win = 1
-
- IF win = 0 THEN DO /* witch screenmode if not window-driver or blind */
- call rtscreenmoderequest(txt_scrmo,,,
- 'rtsc_flags = screqf_sizegads|screqf_depthgad',
- 'rt_reqpos=reqpos_centerscr',screen)
- ScreenMode = screen.name
-
- if screen = '0' then do /* you chancel screenmode requester */
- call rtezrequest(txt_nomo1||NL||,
- txt_nomo2,,
- txt_ok,,
- txt_nomo3,,
- 'rtez_flags = ezreqf_centertext',
- 'rt_reqpos = reqpos_centerscr')
- ScreenMode = txt_best
- END
- END
- END
-
- 'SVOPERATOR='||SVOperator
- 'SAVE_TYPE='||SVObject
- 'SVDRIVER='||SVDR
- 'VIEWMODE='||ScreenMode
-
- sure = rtezrequest(txt_sure1||Counter||txt_sure1a||NL||, /* your settings and last chance to leave */
- files.1||NL||,
- ' */*'||NL||,
- files.Counter||NL||,
- txt_sure1b||NL||NL||,
- txt_sure2||SVObject||txt_sure3||NL||,
- txt_sure4||SVOperator||txt_sure5||NL||,
- txt_sure6||SVDR||txt_sure7||NL||,
- txt_sure8 ||ScreenMode||txt_sure9||NL||,
- txt_sure10||SaveDir||'.'||NL||,
- ' ',,
- txt_sure11,,
- tx,,
- 'rtez_defaultresponse = 1',
- 'rt_reqpos = reqpos_centerscr')
-
- if sure = 0 then do /* you want to leave ! */
- txt_chancel = txt_chancela
- call break_c
- END
-
- say BL||WS||HG3||in_txt3||NR
-
- if files = 1 then DO i = 1 to files.count /* repeat loop until all files have been processed */
-
- TIME('R')
-
- IF ~(EXISTS(files.i)) THEN DO
- say files.i ||' did not exist anymore'
- nosave = nosave+1
- ITERATE i
- END
-
- 'LOAD='||files.i /* load the picture */
-
- parse var files.i LW ':' DN /* Construct a new name for the pic and save it */
- Pfad = ''
- oldname = DN
- ona = 0
- do forever
- parse var DN Pfad1 '/' DN
- if DN = ''
- then break
- Pfad = Pfad||Pfad1'/'
- ona = ona+1
- if ona > 0 then oldname = DN
- end
- Pfad = ''
- do forever
- parse var Pfad1 NN '.' Pfad1
- if Pfad1 = ''
- then break
- Pfad = Pfad||NN||'.'
- oldext = Pfad1
- end
-
- newname = SaveDir||Pfad||txt||ext
- newfile = Pfad||txt||ext
-
- if DATATYPE(oldext,'N') = 1 then do
- newname = SaveDir||Pfad||txt||ext||'.'||oldext
- newfile = Pfad||txt||ext||'.'||oldext
- END
-
- IF POS('.',oldname) = 0 THEN DO
- newname = SaveDir||oldname||'.'||txt||ext
- newfile = oldname||'.'||txt||ext
- END
-
- ti1 = TIME('E')
-
- IF ((Counter-i) = 0) THEN in_txt = in_txt6b
- /* same file exists ! */
- IF (EXISTS(newname) & OVER = 0) then overwrite = rtezrequest(txt_over1a||newname||txt_over1b||NL||,
- txt_over2,,
- txt_over3,,
- in_txt1,,
- 'rtez_defaultresponse = 4',
- 'rtez_flags = ezreqf_centertext',
- 'rt_reqpos = reqpos_centerscr')
- overwrite = VALUE(overwrite)
-
- IF overwrite = 0 THEN DO /* skip */
- nosave = nosave+1
- say in_txt4||i||' '||BL||WS||HG3||newname||NR||in_txt7||NL||BL||Counter-i||in_txt5a||Counter||NR||in_txt
- overwrite = 1
- ITERATE i
- END
-
- IF (EXISTS(newname) & overwrite = 4) THEN DO /* skip all */
- nosave = nosave+1
- say in_txt4||i||' '||BL||WS||HG3||newname||NR||in_txt7||NL||BL||Counter-i||in_txt5a||Counter||NR||in_txt
- OVER = 1
- ITERATE i
- END
-
- IF (EXISTS(newname) & overwrite = 3) THEN DO /* rename */
- newname = rtfilerequest(SaveDir,newfile,ren_txt2||newfile,ren_txt3,,
- 'rt_reqpos = reqpos_centerscr')
- overwrite = 1
- rename = 1
- END
-
- IF (EXISTS(newname) & rename = 1) THEN DO
- /* same file exists second times! */
- IF (EXISTS(newname) & OVER = 0) then
- overwrite1 = rtezrequest(txt_over1a||newname||txt_over5b||NL||,
- txt_over6,,
- txt_over7,,
- txt_over8,,
- 'rtez_defaultresponse = 0',
- 'rtez_flags = ezreqf_centertext',
- 'rt_reqpos = reqpos_centerscr')
- overwrite1 = VALUE(overwrite1)
- rename = 0
-
- IF overwrite1 = 0 THEN DO /* skip */
- nosave = nosave+1
- say in_txt4||i||' '||BL||WS||HG3||newname||NR||in_txt7||NL||BL||Counter-i||in_txt5a||Counter||NR||in_txt
- overwrite = 1
- ITERATE i
- END
-
- IF (EXISTS(newname) & overwrite1 = 2) THEN DO /* rename */
- newname = rtfilerequest(SaveDir,,
- newfile,,
- ren_txt2||newfile,,
- ren_txt3,,
- 'rt_reqpos = reqpos_centerscr')
- END
-
- IF (EXISTS(newname) & overwrite1 = 2) then do /* renaming failed second times, skip this pic */
- nosave = nosave+1
- say in_txt4||i||' '||BL||WS||HG3||newname||NR||in_txt7||NL||BL||Counter-i||in_txt5a||Counter||NR||in_txt
- say BL||WS||renfail_TXT1||NL||renfail_txt2||NR
- overwrite = 1
- ITERATE i
- END
-
- END
-
- TIME('R')
-
- IF (EXISTS(newname) & overwrite = 2) THEN OVER = 1 /* overwrite all */
-
- IF ~(EXISTS(newname)) THEN SA = 1
-
- 'STATUS=T:SVStatus'
- IF OPEN('Stat','T:SVStatus','R') THEN DO
- Stat_txt = READLN('Stat')
- CLOSE('Stat')
- parse var Stat_txt st ' ' width 'x' height 'x' depth
- depth =VALUE(depth)
- END
- IF (depth < 24 & TO24BIT = 1) THEN DO /* needs the sv-operator 24bit data ? */
- 'SVOPERATOR='||SVOP.0 /* here used only for Emboss_SQ */
- 'ACTION'
- 'SVOPERATOR='||SVOperator
- END
- IF (depth > 8 & TO8BIT = 1) THEN DO /* needs the sv-operator 8bit data ? */
- 'SVOPERATOR='||SVOP.8 /* here used only for opt.Palette */
- 'ACTION'
- 'SVOPERATOR='||SVOperator
- END
-
- if SAOP = 1 THEN 'ACTION' /* operation */
-
- IF TO8BITSAVE = 1 THEN DO /* needs the sv-object 8bit data ? */
- 'SVOPERATOR='||SVOP.8 /* here used only for GIF */
- 'ACTION'
- 'SVOPERATOR='||SVOperator
- END
-
- IF TOGRAY = 1 THEN DO /* you want always gray ? */
- 'SVOPERATOR='||SVOP.3 /* here used only for Emboss_SQ */
- 'ACTION'
- 'SVOPERATOR='||SVOperator
- END
-
- 'SAVE='||newname /* save file */
-
- address command wait 3 /* wait for the HD */
-
- IF win < 2 THEN DO /* if not blind */
- 'SHOW='||newname /* just saved file load and display */
- IF win = 0 THEN address command wait screentime
- else address command wait windowtime
- END
-
- ti2 = TIME('E')
- ti2 = ti1+ti2
- timer = timer+ti2
- avtime = LEFT((timer/(i-nosave)),5,'0')
- tinow = TIME('S')
- ready = LEFT((tinow+((avtime)*(Counter-i))),5)
- ho = RIGHT(TRUNC(ready/3600),2,'0')
- min = RIGHT(TRUNC((ready-(ho*3600))/60),2,'0')
- sec = RIGHT(TRUNC(ready-(min*60)-(ho*3600)),2,'0')
- if VALUE(ho) > 23 then ho = RIGHT(ho-24),2,'0')
-
- IF SA = 1 then say in_txt4||i||' '||WS||HG3||newname||NR||in_txt5||NL||BL||Counter-i||in_txt5a||Counter||NR||in_txt
- else say in_txt4||i||' '||BL||WS||HG3||newname||NR||BL||in_txt8||NL||Counter-i||in_txt5a||Counter||NR||in_txt
-
- say ti_txt1||BL||ti2||NR||ti_txt2||ti_txt3||BL||avtime||NR||ti_txt4||NL||ti_txt5||BL||ho||':'||min||':'||sec||NR
-
- SA = 0
- END
- 'UNSHOW'
-
- SaveSet = rtezrequest(txt_info1||NL||, /* Tell the user everything went fine */
- (Counter-nosave)||txt_info2||NL||,
- txt_info2a||NL||,
- txt_info2b,,
- txt_info3,,
- txt_info4,,
- 'rtez_defaultresponse = 0',
- 'rtez_flags = ezreqf_centertext',
- 'rt_reqpos = reqpos_centerscr')
- SaveSet = VALUE(SaveSet)
-
- IF SaveSet > 0 then do
- IF OPEN('Prefs','ENV:SV-ProcessPics.prefs','w') THEN DO
- WRITELN('Prefs',Dir)
- WRITELN('Prefs',SaveDir)
- WRITELN('Prefs',SO)
- WRITELN('Prefs',SVObject)
- WRITELN('Prefs',txt)
- WRITELN('Prefs',ext)
- WRITELN('Prefs',TO24BIT)
- WRITELN('Prefs',TO8BIT)
- WRITELN('Prefs',TO8BITSAVE)
- WRITELN('Prefs',TOGRAY)
- WRITELN('Prefs',SVO)
- WRITELN('Prefs',SVOperator)
- WRITELN('Prefs',SAOP)
- WRITELN('Prefs',SVDR)
- WRITELN('Prefs',ScreenMode)
- WRITELN('Prefs',win)
- CLOSE('Prefs')
- IF SaveSet = 1 then address command copy 'ENV:SV-ProcessPics.prefs TO ENVARC:'
- END
- END
-
- IF SaveSet = 3 then do
- txt_same4 = txt_same4b
- drop files
- call Main
- END
-
- say BL||WS||HG3||tx||NR
-
- call Ausgang
-
- ERROR: /* ERROR Procedure */
- failure:
- ioerr:
- syntax:
-
- call rtezrequest(txt_error1 ||NL||,
- txt_error2||RC||' '||ErrorText(RC)||NL||,
- 'in Line' sigl '--> 'SOURCELINE(sigl)' <--',,
- txt_error4,,
- txt_error3,,
- 'rtez_flags = ezreqf_centertext',
- 'rt_reqpos = reqpos_centerscr')
- call Ausgang
-
- break_c:
- halt:
-
- call rtezrequest(txt_chancel||NL||,
- txt_nopick,,
- txt_ok,,
- txt_nopick5,,
- 'rtez_flags = ezreqf_centertext',
- 'rt_reqpos = reqpos_centerscr')
- call Ausgang
-
- Ausgang:
-
- 'UNSHOW'
- IF EXISTS('t:SVStatus') THEN address command 'c:delete t:SVStatus QUIET'
- EXIT
-
- END
-
- text:
- /*
-
- /\ Ulrich Falke
- __ \/ _ Jakobistr. 2
- __/// /||\/||¯/_ /| D-59494 Soest
- \XX/ /¯|| || \//¯| */
-
- tx='AMIGA definately BACK FOR THE FUTURE --- UFalke@t-online.de' /*
-
- A3000/060-50MHz+PPC403e-200MHz/70MB RAM/ca.7GB HD's/Toshiba XM3701S/CVisionPPC-CGX V3/VLab/MFCIII/33.6kModem/Mitsubishi 16Zoll Monitor
- CyberStormPPC IBM 4.3GB UW / Quantum 2.1GB S / Conner 540MB S / 2xSyQuest 270MB S / DD+HD Floppy
- AmigaOS 3.1 / DOpus 5.661 Magellan / PC-Task 4.4 with Win3.1 / Cinema4D / Refections 4.2 / Aminet-CD 1-26 / ...
- */
-